home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #11 / Amiga Plus CD - 2004 - No. 11.iso / AmiSoft / Comm / yam / YAMGenesis.lha / YAMGenesis / debug / GenesisOffline.yam.deb next >
Text File  |  2001-10-21  |  7KB  |  181 lines

  1. /* GenesisOffline.yam - Go offline in Genesis
  2.  *
  3.  * $VER: GenesisOffline.yam 1.03 (7.5.01) © H. van der Ree <hivdree@uwnet.nl>
  4.  *
  5.  * This script is used after new mail is send or downloaded. It is importend
  6.  * that the option 'wait for ' is NOT ticked when the argument SENT is supplied,
  7.  * otherwise YAM will be locked!
  8.  */
  9.  
  10. OPTIONS RESULTS
  11. OPTIONS FAILAT 5
  12. SIGNAL ON FAILURE
  13. SIGNAL ON SYNTAX
  14.  
  15. IF ~OPEN('FH', 'RAM:GenesisOnline.debug', 'A') THEN
  16.   CALL OPEN('FH', 'RAM:GenesisOnline.debug', 'W')
  17. CALL WRITELN(FH, '')
  18. CALL WRITELN(FH, date('N') '-' time('N')||': GenesisOffline.yam.')
  19.  
  20. PARSE ARG args .
  21. CALL WRITELN(FH, date('N') '-' time('N')||': Arg is' args||'.')
  22.  
  23. interface = GETVAR(GENESISINTERFACE, "GLOBAL")
  24. CALL WRITELN(FH, date('N') '-' time('N')||': Used interface' interface||'.')
  25. genesisport = "GENESIS"
  26. file = "YAM:Rexx/YahooGroupsScanner.rexx"
  27.  
  28. IF pos("SEND", upper(args)) = 1 THEN
  29. DO
  30.   CALL SETVAR(YAMSTARTED, "YES", "GLOBAL")
  31.   CALL WRITELN(FH, date('N') '-' time('N')||': Changing ADDRESS to YAM.')
  32.   ADDRESS "YAM"
  33.  
  34.   CALL WRITELN(FH, date('N') '-' time('N')||': Checking CHANGEDYAMSTATUS variable.')
  35.   changedyamstatus = GETVAR("CHANGEDYAMSTATUS", "GLOBAL")
  36.   IF changedyamstatus = "YES" THEN
  37.   DO
  38.     CALL WRITELN(FH, date('N') '-' time('N')||':   Content is' changedyamstatus||'.')
  39.     CALL WRITELN(FH, date('N') '-' time('N')||':   Open T:YAMSTATUSLIST.')
  40.     IF OPEN(FS, 'T:YAMSTATUSLIST', 'R') THEN
  41.     DO
  42.       CALL WRITELN(FH, date('N') '-' time('N')||':     Changing address to YAM.')
  43.       CALL WRITELN(FH, date('N') '-' time('N')||':     Set folder to Outgoing.')
  44.       SETFOLDER 'Outgoing'
  45.       CALL WRITELN(FH, date('N') '-' time('N')||':     Get folderinfo.')
  46.       FOLDERINFO STEM folder.
  47.       CALL WRITELN(FH, date('N') '-' time('N')||':     Unselect ALL.')
  48.       LISTSELECT NONE
  49.       orgmsgid = READLN(FS)
  50.       CALL WRITELN(FH, date('N') '-' time('N')||':     Reading orgmsgid =' orgmsgid||', Start loop.')
  51.       DO i = 0 TO folder.TOTAL - 1
  52.         SETMAIL i
  53.         MAILINFO STEM mail.
  54.         CALL WRITELN(FH, date('N') '-' time('N')||':       Mail msgid =' mail.MSGID||'.')
  55.         IF POS(orgmsgid, mail.MSGID) ~= 0 THEN
  56.         DO
  57.           CALL WRITELN(FH, date('N') '-' time('N')||':         Changing status of file.')
  58.           MAILSTATUS W
  59.           orgmsgid = READLN(FS)
  60.           CALL WRITELN(FH, date('N') '-' time('N')||':         Reading orgmsgid =' orgmsgid||'.')
  61.         END
  62.       END
  63.       CALL WRITELN(FH, date('N') '-' time('N')||':     Closing file T:YAMSTATUSLIST.')
  64.       CALL CLOSE(FS)
  65.     END
  66.     CALL DELETEVAR("CHANGEDYAMSTATUS", "GLOBAL")
  67.     CALL WRITELN(FH, date('N') '-' time('N')||':   Starting Yam2NN POST ALL.')
  68.     ADDRESS COMMAND 'SYS:C/Yam2NN POST ALL'
  69.     CALL WRITELN(FH, date('N') '-' time('N')||':   Yam2NN POST ALL DONE!!')
  70.     OPTIONS FAILAT 6
  71.     ADDRESS COMMAND 'delete >NIL: "T:YAMSTATUSLIST"'
  72.     OPTIONS FAILAT 5
  73.   END
  74.   CALL WRITELN(FH, date('N') '-' time('N')||': Checking CHANGEDYAMSTATUS DONE!')
  75.  
  76.   CALL WRITELN(FH, date('N') '-' time('N')||': ** Starting MailCheck.')
  77.   CALL CLOSE(FH)
  78.   MAILCHECK MANUAL
  79.   CALL OPEN('FH', 'RAM:GenesisOnline.debug', 'A')
  80.   CALL WRITELN(FH, '')
  81.   CALL WRITELN(FH, date('N') '-' time('N')||': ** GenesisOffline.yam.')
  82.   CALL WRITELN(FH, date('N') '-' time('N')||': ** MailCheck DONE I quit!')
  83.   CALL CLOSE(FH)
  84.   EXIT 0
  85. END
  86.  
  87. IF pos("NEWS", upper(args)) = 1 THEN
  88. DO
  89.   CALL WRITELN(FH, date('N') '-' time('N')||': Changing ADDRESS to COMMAND.')
  90.   CALL WRITELN(FH, date('N') '-' time('N')||': ## Starting Yam2NN.')
  91.   CALL CLOSE(FH)
  92.   IF EXISTS('YAM:Yam2NN.debug') THEN
  93.   DO
  94.     OPTIONS FAILAT 6
  95.     ADDRESS COMMAND
  96.     'delete >NIL: YAM:YAM2NN_SEND.debug'
  97.     'rename >NIL: YAM:YAM2NN.debug YAM:YAM2NN_SEND.debug'
  98.     OPTIONS FAILAT 5
  99.   END
  100.   ADDRESS COMMAND 'SYS:c/Yam2NN'
  101.   CALL OPEN('FH', 'RAM:GenesisOnline.debug', 'A')
  102.   CALL WRITELN(FH, '')
  103.   CALL WRITELN(FH, date('N') '-' time('N')||': ## GenesisOffline.yam.')
  104.   CALL WRITELN(FH, date('N') '-' time('N')||': ## Yam2NN DONE I quit!')
  105.   CALL CLOSE(FH)
  106.   EXIT 0
  107. END
  108.  
  109. /* Don't go offline if one of these applications is running */
  110. ports = "IBROWSE VOYAGER AMFTP.1 AWebControlPort ATC_MAIN ATC_TRADER.1"
  111.  
  112. CALL WRITELN(FH, date('N') '-' time('N')||': Checking YAMSTART ..')
  113. action = GETVAR(YAMSTART, "GLOBAL")
  114. CALL WRITELN(FH, date('N') '-' time('N')||': content is' action||'.')
  115. IF action = "YES" THEN
  116. DO
  117.   CALL WRITELN(FH, date('N') '-' time('N')||': Looking for ports ...')
  118.   DO i = 1 TO WORDS(ports)
  119.     CALL WRITELN(FH, date('N') '-' time('N')||':  ' WORD(ports, i))
  120.     IF SHOW('P', WORD(ports, i)) THEN
  121.     DO
  122.       CALL WRITELN(FH, date('N') '-' time('N')||': Found port' WORD(ports, i))
  123.       CALL LastBits
  124.       CALL WRITELN(FH, date('N') '-' time('N')||': If this shows up then there is something seriously wrong!')
  125.     END
  126.   END
  127.  
  128.   CALL WRITELN(FH, date('N') '-' time('N')||': Checking port' genesisport||'.')
  129.   IF SHOW('P', genesisport) THEN
  130.   DO
  131.     CALL WRITELN(FH, date('N') '-' time('N')||': Found!')
  132.     CALL WRITELN(FH, date('N') '-' time('N')||': Changing ADDRESS to' genesisport||'.')
  133.     ADDRESS VALUE genesisport
  134.     CALL WRITELN(FH, date('N') '-' time('N')||': Checking online status')
  135.     ISONLINE interface
  136.     RCN = RC
  137.     CALL WRITELN(FH, date('N') '-' time('N')||': RC:' RCN||'.')
  138.     IF RCN = 1 THEN
  139.     DO
  140.       CALL WRITELN(FH, date('N') '-' time('N')||': Put interface offline.')
  141.       OFFLINE interface
  142.       CALL WRITELN(FH, date('N') '-' time('N')||': DONE! RC:' RC||'.')
  143.     END
  144.   END
  145. END
  146.  
  147. LastBits:
  148.  
  149. CALL WRITELN(FH, date('N') '-' time('N')||': LastBits, deleting vars')
  150. CALL DELETEVAR(YAMSTART, "GLOBAL")
  151. CALL DELETEVAR(YAMSTARTED, "GLOBAL")
  152. CALL WRITELN(FH, date('N') '-' time('N')||': DONE!')
  153.  
  154. CALL WRITELN(FH, date('N') '-' time('N')||': Looking for' file||'.')
  155. IF EXISTS(file) THEN
  156. DO
  157.   CALL WRITELN(FH, date('N') '-' time('N')||': Starting' file||'.')
  158.   ADDRESS REXX file
  159.   CALL WRITELN(FH, date('N') '-' time('N')||': DONE!')
  160. END
  161.  
  162. CALL WRITELN(FH, date('N') '-' time('N')||': Offline, go back to YAM.')
  163. CALL CLOSE(FH)
  164. EXIT 0
  165.  
  166. FAILURE:
  167. SIGNAL OFF FAILURE
  168. CALL WRITELN(FH, date('N') '-' time('N')||':   ERROR!!!')
  169. CALL WRITELN(FH, date('N') '-' time('N')||':   Line' SIGL SOURCELINE(SIGL))
  170. CALL WRITELN(FH, date('N') '-' time('N')||':   caused an error, RC='||RC)
  171. CALL CLOSE(FH)
  172. EXIT RC
  173.  
  174. SYNTAX:
  175. SIGNAL OFF SYNTAX
  176. CALL WRITELN(FH, date('N') '-' time('N')||':   SYNTAX ERROR!!!')
  177. CALL WRITELN(FH, date('N') '-' time('N')||':   Line' SIGL SOURCELINE(SIGL))
  178. CALL WRITELN(FH, date('N') '-' time('N')||':   caused an error, RC='||RC)
  179. CALL CLOSE(FH)
  180. EXIT RC
  181.